package busterminalweb.action.route;

import busterminal.entity.StoppingPoint;
import busterminal.entity.service.RouteType;
import busterminal.persistence.StoppingPointDAO;
import busterminal.services.ServiceLocator;
import busterminalweb.action.Action;
import busterminalweb.action.ActionResult;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Создать новый маршрут
 */
public class CreateRouteAction implements Action {

    /**
     * Выполнить действие
     * @param request запрос
     * @param response ответ
     * @return страница, которой нужно передать управление
     */
    @Override
    public ActionResult execute(HttpServletRequest request, HttpServletResponse response) {
        List<StoppingPoint> stoppingPointList = ServiceLocator.getService(StoppingPointDAO.class).findAll();
        request.setAttribute("stoppingPointList", stoppingPointList);

        List<RouteType> routeTypeList = Arrays.asList(RouteType.values());
        request.setAttribute("routeTypeList", routeTypeList);

        return ActionResult.forward("route/CreateRouteView.jsp");
    }

    /**
     * Получить имя действия
     * @return имя действия
     */
    @Override
    public String getName() {
        return "route.create";
    }
}
